package com.project.entity.user;

import java.util.Date;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.OneToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

import org.hibernate.annotations.Cache;
import org.hibernate.annotations.CacheConcurrencyStrategy;
import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;
import org.hibernate.annotations.NotFound;
import org.hibernate.annotations.NotFoundAction;

import com.project.entity.enumcommon.AuditStatusEnum;

@Entity
@Table(name="B_MEMBER")
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
@DynamicInsert
@DynamicUpdate
public class Member extends BaseUser{
	
	private static final long serialVersionUID = 5807882039632596338L;

	@Column(name="user_id")
	private Long userId;//用户id
	
	@Column(name="audit_status")
	@Enumerated(EnumType.STRING)
	private AuditStatusEnum auditStatus;//审核状态（W:待审核;P:已通过;N:未通过）
	
	@Column(name="audit_description")
	private String auditDescription;//审核说明
	
	@Temporal(TemporalType.TIMESTAMP)
	@Column(name="application_time")
	private Date applicationTime;//申请时间
	
	@Temporal(TemporalType.TIMESTAMP)
	@Column(name="audit_time")
	private Date auditTime;//审核时间
	
	@Column(name="audit_user")
	private String auditUser;//审核人员

	public Long getUserId() {
		return userId;
	}

	public void setUserId(Long userId) {
		this.userId = userId;
	}

	public AuditStatusEnum getAuditStatus() {
		return auditStatus;
	}

	public void setAuditStatus(AuditStatusEnum auditStatus) {
		this.auditStatus = auditStatus;
	}

	public String getAuditDescription() {
		return auditDescription;
	}

	public void setAuditDescription(String auditDescription) {
		this.auditDescription = auditDescription;
	}

	public Date getApplicationTime() {
		return applicationTime;
	}

	public void setApplicationTime(Date applicationTime) {
		this.applicationTime = applicationTime;
	}

	public Date getAuditTime() {
		return auditTime;
	}

	public void setAuditTime(Date auditTime) {
		this.auditTime = auditTime;
	}

	public String getAuditUser() {
		return auditUser;
	}

	public void setAuditUser(String auditUser) {
		this.auditUser = auditUser;
	}

	

}
